/**
 * Esta clase contiene un método que lee el contenido de un fichero de texto y
 * lo devuelve como String. Se utilizan las clases FileInputStream e
 * InputStreamReader.
 */
package tools.files;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 *
 * @author Félix Marín Ramírez || felixmurcia@gmail.com
 * @version 1.0.1b
 */
public class LeerFicheroFIS implements java.io.Serializable {

    /**
     *
     * @param fichero Parametro que contiene el fichero del que se va a leer su
     * contenido.
     * @return Devuelve una cadena de texto (String) con el contenido del
     * fichero de texto. Si se utliza JOptionPane, cada linea aparecerá en una
     * ventana diferente.
     * @throws FileNotFoundException En el caso de que no se encuentre el
     * fichero se lanzará una excepción.
     * @throws IOException En caso de que no se pueda esrcirbir en el fichero se
     * lanzará una excepción.
     */
    public String leerFicheroFIS(File fichero) throws FileNotFoundException, IOException {
        String cadena = "";
        int c;
        char caracter;
        FileInputStream fis;
        InputStreamReader isr;

        try {
            fis = new FileInputStream(fichero);
            isr = new InputStreamReader(fis);

            while ((c = fis.read()) != -1) {
                caracter = (char) isr.read();
                cadena += caracter;
            }
        } catch (FileNotFoundException e) {
            throw new FileNotFoundException();
        } catch (IOException e) {
            throw new IOException();
        }
        return cadena;
    }
}
